package controller;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;

import statter.Stats;


import dbConn.DBConn;
/**
 * De Haven Klasse, dit is de interne haven van de controller
 */
public class Haven {
	private DBConn db,db1;
	private ResultSet aankomst;
	private Stats statter;
	
	public Haven(Stats statter) {
		this.statter = statter;
		statter.addSection("Database connection");
		db = new DBConn();
		db.open();
		this.aankomst = db.execResQuery("SELECT DISTINCT van,soortvervoer from aankomst order by van");
		try {
			this.aankomst.next();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	

/**
 * Geeft de datum van de volgende Aankomt
 * @return Timestamp Aankomstdatum
 */
	public Timestamp getNextSetDate() {
		try {
			this.aankomst.next();
			return new Timestamp(aankomst.getDate(1).getTime());
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
		
	}
/**
 * Geeft de volgende set containers
 * @return ResultSet containers
 */	public ResultSet getNextContainerSet() {
		try {
				statter.statStart("Database connection");
				db1 = new DBConn(); 		
				db1.open();
				ResultSet rs = db1.execResQuery("SELECT containerID,van,soortvervoer FROM AANKOMST WHERE VAN = '"+ this.aankomst.getString(1) +"' AND SOORTVERVOER = '" + this.aankomst.getString(2) + "'"); 
				statter.statEnd("Database connection");				
				return rs; 				
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		db1.close();
		return null;
	}	

}

